package homevideo_model

import (
	"fmt"
	"iptv_server/v3/src/database"
	"iptv_server/v3/src/mydebug"
	"testing"
)

// func TestHome_Save(t *testing.T) {
// 	type fields struct {
// 		Model     gorm.Model
// 		Name      string
// 		SourceKey string
// 	}
// 	tests := []struct {
// 		name    string
// 		fields  fields
// 		wantErr bool
// 	}{
// 		{
// 			name: "testHome.Save",
// 			fields: fields{
// 				Name:      "name1",
// 				SourceKey: "src1",
// 			},
// 			wantErr: false,
// 		},
// 	}

// 	database.DB.AutoMigrate(&Home{})
// 	database.DB.AutoMigrate(&Category{})
// 	database.DB.AutoMigrate(&Detail{})

// 	a := []byte("abcdefghijk")

// 	for _, tt := range tests {
// 		for _, c := range a {
// 			s := string(c)
// 			t.Run(tt.name, func(t *testing.T) {
// 				h := &Home{
// 					Model:     tt.fields.Model,
// 					Name:      tt.fields.Name + "-3" + s,
// 					SourceKey: tt.fields.SourceKey + "-3" + s,
// 				}
// 				if err := h.Create(); (err != nil) != tt.wantErr { // err !=nil =>true出错了 .
// 					t.Errorf("Home.Save() error = %v, wantErr %v", err, tt.wantErr)
// 				}
// 			})
// 		}
// 	}
// }

func TestGetHome(t *testing.T) {
	gotH, err := GetHome(0)
	fmt.Printf("gotH: %v\n", gotH)
	fmt.Printf("err: %v\n", err)
}

func TestGetAllHome(t *testing.T) {
	tests := []struct {
		name    string
		wantHs  []*Home
		wantErr bool
	}{
		{
			name:    "some name",
			wantHs:  nil,
			wantErr: false,
		},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			gotHs, err := GetAllHome()
			if (err != nil) != tt.wantErr {
				t.Errorf("GetAllHome() error = %v, wantErr %v", err, tt.wantErr)
				return
			}
			// if !reflect.DeepEqual(gotHs, tt.wantHs) {
			for _, v := range gotHs {
				t.Errorf("GetAllHome() = %v, want ", v)
			}
			// }
		})
	}
}

func TestHome_Create(t *testing.T) {
	mydebug.InitDB()
	database.DB.AutoMigrate(new(Home))

	for i := 1; i < 10; i++ {
		h := &Home{
			Name: fmt.Sprintf("name%d", i),
			Key:  fmt.Sprintf("Key%d", i),
		}
		h.Create()

	}

}
